
/*
 * Copyright (C) 2008-2009 Archie L. Cobbs. All rights reserved.
 *
 * $Id$
 */

package org.dellroad.sidekar.query;

import java.util.NavigableSet;

/**
 * Sidekar {@link Query} results that are presented in the form of a navigable set.
 */
public interface QuerySet<E> extends QueryCollection<E>, NavigableSet<E> {

    @Override
    QueryIterator<E> descendingIterator();

    @Override
    QuerySet<E> descendingSet();

    @Override
    QuerySet<E> headSet(E toElement);

    @Override
    QuerySet<E> headSet(E toElement, boolean inclusive);

    @Override
    QuerySet<E> subSet(E fromElement, E toElement);

    @Override
    QuerySet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive);

    @Override
    QuerySet<E> tailSet(E fromElement);

    @Override
    QuerySet<E> tailSet(E fromElement, boolean inclusive);
}

